package com.lion.ball.modules.orderfood.web.model.params.update;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * @author Chris Chan
 * Create on 2025-10-18 13:33
 * Use for: 食品SPU 数据更新请求参数
 * Explain:
 * 
 */
@Schema(description = "食品SPU 数据更新参数")
public class OfdFoodSpuUpdateParam {
    @Schema(description = "主键", example = "1")
    private long id;
    @Schema(description = "编码", example = "1")
    private long code;
    @Schema(description = "名称", example = "字符串")
    private String name;
    @Schema(description = "价格", example = "1")
    private Double price;
    @Schema(description = "图片 URL", example = "字符串")
    private String img;
    @Schema(description = "描述", example = "字符串")
    private String description;
    @Schema(description = "创建时间", example = "1")
    private long createTime;
    @Schema(description = "更新时间", example = "1")
    private long updateTime;
    @Schema(description = "是否删除 0 - 未删除 1 - 已删除", example = "1")
    private int isDeleted;

    // 无参构造方法
    public OfdFoodSpuUpdateParam() {
    }

    // 全参数构造方法
    public OfdFoodSpuUpdateParam(long id, long code, String name, Double price, String img, String description, long createTime, long updateTime, int isDeleted) {
        this.id = id;
        this.code = code;
        this.name = name;
        this.price = price;
        this.img = img;
        this.description = description;
        this.createTime = createTime;
        this.updateTime = updateTime;
        this.isDeleted = isDeleted;
    }

    // 全参数create生成器
    public static OfdFoodSpuUpdateParam create(long id, long code, String name, Double price, String img, String description, long createTime, long updateTime, int isDeleted) {
        return new OfdFoodSpuUpdateParam(id, code, name, price, img, description, createTime, updateTime, isDeleted);
    }

    // 全参数of生成器
    public static OfdFoodSpuUpdateParam of(long id, long code, String name, Double price, String img, String description, long createTime, long updateTime, int isDeleted) {
        return new OfdFoodSpuUpdateParam(id, code, name, price, img, description, createTime, updateTime, isDeleted);
    }
    // region Getter和Setter方法
    public long getId() {
        return id;
    }

    public OfdFoodSpuUpdateParam setId(long id) {
        this.id = id;
        return this;
    }

    public long getCode() {
        return code;
    }

    public OfdFoodSpuUpdateParam setCode(long code) {
        this.code = code;
        return this;
    }

    public String getName() {
        return name;
    }

    public OfdFoodSpuUpdateParam setName(String name) {
        this.name = name;
        return this;
    }

    public Double getPrice() {
        return price;
    }

    public OfdFoodSpuUpdateParam setPrice(Double price) {
        this.price = price;
        return this;
    }

    public String getImg() {
        return img;
    }

    public OfdFoodSpuUpdateParam setImg(String img) {
        this.img = img;
        return this;
    }

    public String getDescription() {
        return description;
    }

    public OfdFoodSpuUpdateParam setDescription(String description) {
        this.description = description;
        return this;
    }

    public long getCreateTime() {
        return createTime;
    }

    public OfdFoodSpuUpdateParam setCreateTime(long createTime) {
        this.createTime = createTime;
        return this;
    }

    public long getUpdateTime() {
        return updateTime;
    }

    public OfdFoodSpuUpdateParam setUpdateTime(long updateTime) {
        this.updateTime = updateTime;
        return this;
    }

    public int getIsDeleted() {
        return isDeleted;
    }

    public OfdFoodSpuUpdateParam setIsDeleted(int isDeleted) {
        this.isDeleted = isDeleted;
        return this;
    }

    // endregion Getter和Setter方法
}
